import { createApp } from "vue";
// import { createPinia } from 'pinia'

import ElementPlus from 'element-plus'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import 'element-plus/dist/index.css'
import "@/style.css";


import pinia from "@/stores/store"
import App from "@/App.vue";

import { lang } from "@/directives/lang";



// 与基座进行数据交互
// function handleMicroData(router) {
//     function dataListener (data) {
//         console.log('来自主应用的数据', data.path)
//         router.push(data.path);
//     }
//     window.microApp && window.microApp.addDataListener(dataListener);
// }

// ----------分割线---umd模式--------------- //
let app = null;
// 将渲染操作放入 mount 函数
import router, { history, clear } from "@/router/index.js";

function mount() {
    app = createApp(App);

    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
        app.component(key, component)
    }
    
    app.use(pinia).use(router).use(ElementPlus);
    app.directive('lang', lang);

    app.mount("#zyxx-app");
    // handleMicroData(router);
}
// 预留 主子系统
mount();

// // 将卸载操作放入 unmount 函数
// function unmount() {
//     app?.unmount();
//     history?.destroy();
//     // 卸载所有数据监听函数
//     // window.eventCenterForAppNameSystem?.clearDataListener();
//     app = null;
//     clear();
//     window.microApp.clearDataListener();
// }
// // 微前端环境下，注册mount和unmount方法
// if (window.__MICRO_APP_BASE_APPLICATION__) {
//     window["micro-app-form"] = { mount, unmount };
// } else {
//     // 非微前端环境直接渲染
//     mount();
// }
